-- KEYS[1] : 计数器 key
-- ARGV[1]: 固定窗口时长(s)
-- ARGV[2]: 阈值

local key   = KEYS[1]
local ttl   = tonumber(ARGV[1])
local limit = tonumber(ARGV[2])

local cnt = redis.call("INCR", key)
if cnt == 1then              -- 第一次访问才设过期
    redis.call("EXPIRE", key, ttl)
end
return cnt <= limit and1or0  -- 1 通过，0 拒绝